typedef int token_t;

enum{
  VARTYPE = 1,
  FUNCTYPE,
  PROCTYPE,
  PARMTYPE
};

enum{
  INTCONV = 1,
  FLOATCONV = 2
};

#ifndef max
#define max(a,b) ( (a > b) ? (a) : (b) )
#endif

/** parser-pseudocode interface **/
int relop;
int addop;
int mulop;
int acctype;
/** parser-lexer interface **/
token_t lookahead;
extern void match(token_t);
/** parser modules **/
void program(void);
void block(void);
void declarations(void);
void modules(void);
void procedure(void);
void function(void);
void idlist(void);
void type(void);
void stmtblock(void);
void ifstmt(void);
void whilestmt(void);
void repstmt(void);
void idstmt(void);
void expr(void);
void factor(void);
void exprlist(void);
